"""
setup.py is the build script for setuptools. 
It tells setuptools about your package 
(such as the name and version) 
as well as which code files to include.
"""

import setuptools

with open("README.md", "r", encoding='utf-8') as fh:
    long_description = fh.read()

setuptools.setup(
    name="pypidemo-dnlab",  # Replace with your own username
    version="0.0.6",
    author="Example Author",
    author_email="author@example.com",
    description="A small example package",
    long_description=long_description,
    long_description_content_type="text/markdown",
    url="https://gitee.com/szryanchen/pypidemo-dnlab",
    packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    python_requires='>=3.6',
    install_requires=[
        'python-dotenv>=0.14.0',
        'pandas>=1.1.3',
        'pymongo>=3.11.0'
    ],
    package_data={'pypidemo_dnlab': ['dict.txt']}
)

"""
关于setup()的参数：
1. name是pip install时使用，不能重复
2. version有一定的标准，可查看PEP440
3. long_description是对模块的详细介绍，如果模块上传到pypi，
则会显示在模块的介绍页面
4. find_packages()方法会自动寻找所有带`init.py`的文件夹（即模块）
5. classifiers至少应写上例子中展示的三个
6. install_requires写明该模块的依赖，用户使用pip安装时，
会自动安装依赖。注意此处只需要写当前模块的依赖，而不用写依赖的依赖。
7. 如需在项目包中包含数据文件，需要使用package_data参数，可以使用简单的regex，
与MANIFEST.in文件的区别在于，MANIFEST.in文件只会将需要的文件包含在内，但在
包安装时不会将其安装在用户机上，通常用来放LICENSE或文档
"""
